package com.shop.cereshop.commons.domain.im.tx.req.msg;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.List;

@Data
public class MsgInfoReq {
    /**
     * 同步至其他设备
     * 1：把消息同步到 From_Account 在线终端和漫游上
     * 2：消息不同步至 From_Account
     * 3：消息不同步至 To_Account
     * 若不填写默认情况下会将消息存 From_Account 漫游
     */
    @SerializedName("SyncOtherMachine")
    private Integer SyncOtherMachine;

    /**
     * 消息发送方 UserID（用于指定发送消息方账号）
     */
    @SerializedName("From_Account")
    private String From_Account;

    /**
     * 消息接收方 UserID
     */
    @SerializedName("To_Account")
    private String To_Account;

    /**
     * 仅在线标识
     * 默认为 0，表示消息存历史聊天记录
     * 1表示消息不存历史聊天记录，即发送消息时，若接收方在线，则能收到此消息，若接收方不在线，则收不到该消息。
     * 适用于实现一些实时状态类的功能，如实现“对方正在输入”功能
     */
    @SerializedName("OnlineOnlyFlag")
    private Integer OnlineOnlyFlag;

    /**
     * 消息序列号（32位无符号整数）
     * 后台会根据该字段去重及进行同秒内消息的排序，详细规则请看本接口的功能说明。
     * 若不填该字段，则由后台填入随机数
     */
    @SerializedName("MsgSeq")
    private Integer MsgSeq;

    /**
     * 消息随机数（32位无符号整数）
     * 后台用于同一秒内的消息去重。请确保该字段填的是随机数
     */
    @SerializedName("MsgRandom")
    private Integer MsgRandom ;

    @SerializedName("MsgBody")
    private List<MsgBody> MsgBody;
}
